﻿namespace TestTool.Proxies.Onvif
{
    using System;
    using System.CodeDom.Compiler;
    using System.ComponentModel;
    using System.Diagnostics;
    using System.Xml;
    using System.Xml.Serialization;

    [Serializable, DebuggerStepThrough, GeneratedCode("svcutil", "3.0.4506.2152"), DesignerCategory("code"), XmlType(Namespace="http://www.onvif.org/ver10/schema")]
    public class AnalyticsEngineControl : ConfigurationEntity
    {
        private XmlAttribute[] anyAttrField;
        private XmlElement[] anyField;
        private string engineConfigTokenField;
        private string engineTokenField;
        private string[] inputTokenField;
        private ModeOfOperation modeField;
        private MulticastConfiguration multicastField;
        private string[] receiverTokenField;
        private Config subscriptionField;

        [XmlAnyElement(Order=7)]
        public XmlElement[] Any
        {
            get
            {
                return this.anyField;
            }
            set
            {
                this.anyField = value;
            }
        }

        [XmlAnyAttribute]
        public XmlAttribute[] AnyAttr
        {
            get
            {
                return this.anyAttrField;
            }
            set
            {
                this.anyAttrField = value;
            }
        }

        [XmlElement(Order=1)]
        public string EngineConfigToken
        {
            get
            {
                return this.engineConfigTokenField;
            }
            set
            {
                this.engineConfigTokenField = value;
            }
        }

        [XmlElement(Order=0)]
        public string EngineToken
        {
            get
            {
                return this.engineTokenField;
            }
            set
            {
                this.engineTokenField = value;
            }
        }

        [XmlElement("InputToken", Order=2)]
        public string[] InputToken
        {
            get
            {
                return this.inputTokenField;
            }
            set
            {
                this.inputTokenField = value;
            }
        }

        [XmlElement(Order=6)]
        public ModeOfOperation Mode
        {
            get
            {
                return this.modeField;
            }
            set
            {
                this.modeField = value;
            }
        }

        [XmlElement(Order=4)]
        public MulticastConfiguration Multicast
        {
            get
            {
                return this.multicastField;
            }
            set
            {
                this.multicastField = value;
            }
        }

        [XmlElement("ReceiverToken", Order=3)]
        public string[] ReceiverToken
        {
            get
            {
                return this.receiverTokenField;
            }
            set
            {
                this.receiverTokenField = value;
            }
        }

        [XmlElement(Order=5)]
        public Config Subscription
        {
            get
            {
                return this.subscriptionField;
            }
            set
            {
                this.subscriptionField = value;
            }
        }
    }
}

